﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;

namespace ERP.ERPModels.Production.ProductionManagement
{
    /// <summary>
    /// 生产工单
    /// </summary>
    public class ProductionWorkOrder:Entity<int>
    {


        /// <summary>
        /// 工单编码 (VARCHAR(30), NOT NULL)
        /// </summary>
        public string WorkOrderCode { get; set; }

        /// <summary>
        /// 工单名称 (VARCHAR(30))
        /// </summary>
        public string WorkOrderName { get; set; }

        /// <summary>
        /// 来源类型 (VARCHAR(30))
        /// </summary>
        public string SourceType { get; set; }

        /// <summary>
        /// 单据状态 (VARCHAR(30))
        /// </summary>
        public string DocumentStatus { get; set; }

        /// <summary>
        /// 产品编码 (VARCHAR(30))
        /// </summary>
        public string ProductCode { get; set; }

        /// <summary>
        /// 产品名称 (VARCHAR(30))
        /// </summary>
        public string ProductName { get; set; }

        /// <summary>
        /// 规格型号 (VARCHAR(30))
        /// </summary>
        public string Specification { get; set; }

        /// <summary>
        /// 单位 (VARCHAR(30))
        /// </summary>
        public string Unit { get; set; }

        /// <summary>
        /// 工单数量 (INTEGER)
        /// </summary>
        public int? Quantity { get; set; }  // 用可空类型表示数据库允许为NULL

        /// <summary>
        /// 需求日期 (TIMESTAMP)
        /// </summary>
        public DateTime? RequiredDate { get; set; }

        /// <summary>
        /// 批次号 (VARCHAR(30))
        /// </summary>
        public string BatchNumber { get; set; }

        /// <summary>
        /// 备注 (VARCHAR(200))
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 记录创建时间 (TIMESTAMP)
        /// </summary>
        public DateTime? CreatedTime { get; set; }

        /// <summary>
        /// 记录更新时间 (TIMESTAMP)
        /// </summary>
        public DateTime? UpdatedTime { get; set; }
    }
}
